package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

// 编写一个程序，从键盘读取输入。当用户输入 'S' 的时候表示输入结束，这时程序输出 3 个数字：
// i) 输入的字符的个数，包括空格，但不包括 '\r' 和 '\n'
// ii) 输入的单词的个数
// iii) 输入的行数

func main() {
	inputReader := bufio.NewReader(os.Stdin)
	fmt.Println("请输入字符串: ")
	input, err := inputReader.ReadString('S')
	if err != nil {
		fmt.Println("input error: ", err.Error())
		return
	}
	lines := strings.Split(input, "\n")
	input = strings.ReplaceAll(input, "\n", " ")
	input = strings.TrimRight(input, "S")

	runes := []rune(input)
	fmt.Println("letter count: ", len(runes))
	input = strings.TrimRight(input, " ")
	words := strings.Split(input, " ")
	fmt.Println("word count: ", len(words))
	fmt.Println("line count: ", len(lines))
}
